#include "AITypes.h"

namespace ai
{
	class AIActor;

	class AIInput
	{
	public:
		// type
		// get value
		virtual AIValue get(AIActor* actor) const = 0;
	};

	class AIMemoryInput : public AIInput
	{
	public:
		explicit AIMemoryInput(unsigned int key);

		virtual AIValue get(AIActor* actor) const;
	protected:
		unsigned int _key;
	};

	class AIOutput
	{
	public:
		// type
		// set value
		virtual void set(AIActor*, AIValue value) = 0;
	};
}